class Solution:
    def numberOfPoints(self, nums: list[list[int]]) -> int:
        """
        给你一个下标从 0 开始的二维整数数组 nums 表示汽车停放在数轴上的坐标。对于任意下标 i，nums[i] = [starti, endi] ，其中 starti 是第 i 辆车的起点，endi 是第 i 辆车的终点。

返回数轴上被车 任意部分 覆盖的整数点的数目。
示例 1：

输入：nums = [[3,6],[1,5],[4,7]]
输出：7
解释：从 1 到 7 的所有点都至少与一辆车相交，因此答案为 7 。
示例 2：

输入：nums = [[1,3],[5,8]]
输出：7
解释：1、2、3、5、6、7、8 共计 7 个点满足至少与一辆车相交，因此答案为 7 。
        :param nums:
        :return:
        """
        ans = 0
        temp = []
        j  = 0
        for i in range(len(nums)):
            if temp:
                temp[0] = nums[i][0]
                temp[1] = nums[i][1]
                continue
            while j<=len(temp):
                if nums[i][0] < temp[j+1] < nums[i][1]:
                    ans += nums[i][1] - temp[1]
                    temp[j+1] = nums[i][1]
                elif nums[i][0] < temp[j] < nums[i][1]:
                    ans += temp[0] - nums[i][0]
                    temp[j] = nums[i][0]
                else:
                    ans = nums[i][0] - nums[i][1]
                    temp.append(nums[i][0])
                    temp.append(nums[i][1])
                j +=2